Current scheduling systems for placing commercial messages, sometimes referred to herein as “advertising spots” or “spots” in communication media such as television (e.g., broadcast, cable, etc.), radio (e.g., broadcast, satellite, etc.), wireless access (e.g., hand-held devices like personal digital assistants, cell phones, iPods, Blackberries, etc.) or other media, are incapable of meeting the burgeoning demand of new networks and channels for advertising or the plethora of advertising spots that need to be scheduled. Additionally, the complexity with which current advertising is designed to be scheduled is another factor that is stretching the limits of current scheduling systems.
Current scheduling systems, either manual or “automatic”, typically rely on only a few inputs for determining when an advertising spot is to be scheduled, such as rate (cost) and contract line priority. As is known in the art, the cost of airing an advertising spot may vary depending on a number of factors, the most common being the day of the week and the time of the day the spot is aired. For example, a spot aired in “prime time” when the potential audience is large is more expensive than airing the spot during the middle of the night when the potential audience is smaller. Priorities in prior art scheduling systems are generally set and static and therefore require a large amount of time and effort to change. Additionally, if a higher-priority advertising spot were to try to be scheduled after a lower-priority spot was already scheduled, typical prior art systems typically would have to schedule the higher-priority spot around the lower-priority spot, thereby turning the priorities upside-down, or spend a lot of time and effort manually rearranging the schedule to account for the placement of the higher-priority spot. This is inefficient, ineffective, and expensive. Obviously, there is a need for an advertising spot scheduling system that can take into account more than two parameters, allow scheduling of multiple advertising spots on multiple forms of media, each having a large number of networks and/or channels, and be able to adapt to changing conditions.
The present disclosure takes into account the complexity inherent in current and future advertising scheduling systems and methods. For example, the present disclosure may make use of a ranking algorithm that ranks available commercial breaks in communication media program scheduling and may take into account a variety of factors, some fixed factors and some relative factors, as herein described, in performing such ranking. Furthermore, the selection of which factors to use and the weight given to each factor may be user-defined rather than preset by, for example, a network, a scheduling entity, or a governing body. By using a variety of factors, which may or may not be user-defined, the commercial break locations (“breaks”) where spots are to be placed (“scheduled”) may be tailored to better meet the needs of the advertiser.
Additionally, with the advent of cable television systems and the plethora of networks now available for viewers to watch, the prior art systems of manually scheduling spots or automatically scheduling spots according to fixed rules, becomes an intractable problem which the prior art systems cannot handle efficiently or effectively.
Accordingly, it is an object of the present disclosure to obviate the problems of the prior art and to provide a method and system of scheduling where an ordered list of advertising spots to be scheduled is provided where each spot has an associated scheduling factor, a first one of the spots is selected, one or more breaks for one or more networks are selected, a first cost for each of the breaks is determined as a function of a predetermined algorithm, and the first spot is assigned (i.e., “placed” or “scheduled”) to one of the breaks which has a lowest first cost.
It is also an object of the present disclosure to provide a method and system of scheduling where an ordered list of spots is generated from a select group of spots to be scheduled, where each of the spots has an associated scheduling factor, and a first spot is selected and assigned to a first break chosen from multiple breaks as a function of a first cost assigned individually to each of the multiple breaks, where each of the first costs is a function of a predetermined fixed parameter. Additionally, if during the method of scheduling a second spot it is determined that no unassigned breaks have a second cost less than a predetermined amount thereby preventing the second spot from being assigned to one of the unassigned breaks, determining the relative rankings of the first and second spots and if the ranking of the second spot is greater than the ranking of the first spot, bumping the first spot from the first break and assigning the second spot to the first break. However, if the ranking of the second spot is not greater than the ranking of the first spot, place the second spot on an exceptions list to be placed later.
It is another object of the present disclosure to provide a computer program for scheduling where the computer program includes computer-readable code including program instructions for providing an ordered list spots to be scheduled where each spot has an associated scheduling factor, selecting a first one of the spots, providing multiple breaks for one or more networks, determining a first cost for each of the breaks as a function of a predetermined algorithm, and assigning the first spot to one of the breaks which has a lowest first cost.
It is a further object of the present disclosure to provide a system for scheduling including a database comprising (a) an ordered list of spots to be scheduled where each spot has an associated scheduling factor, and (b) a plurality of breaks for one or more networks, and a microprocessor operatively connected to the database, where the microprocessor comprises (a) circuitry for selecting a first spot, (b) circuitry for determining a first cost for each of the breaks as a function of a predetermined algorithm, and (c) circuitry for assigning the first spot to one of the breaks which has a lowest first cost. Alternatively, the circuitry for assigning the first spot may assign the first spot to one of the breaks that has a first cost less than a first predetermined amount. Additionally, the system for scheduling may include circuitry for removing the first spot from the ordered list of spots.
Furthermore, the system for scheduling may include circuitry for selecting a second spot, circuitry for determining a second cost for unassigned breaks as a function of the first cost and as a function of a predetermined relative parameter, and circuitry for assigning the second spot to one of the unassigned breaks which has wither a lowest second cost or a second cost that is less than a second predetermined amount. In addition, the circuitry for assigning the second spot may determine that no unassigned breaks have a second cost less than a second predetermined amount thereby preventing the second spot from being assigned to one of the unassigned breaks, and may determine that the second spot has a ranking greater than a ranking for the first spot, bumps the first spot from the first break, and assigns the second spot to the first break. Alternatively, the circuitry for assigning the second spot may determine that no unassigned breaks have a second cost less than a second predetermined amount thereby preventing the second spot from being assigned to one of the unassigned breaks, may determine that the second spot has a ranking less than a ranking for the first spot, and may place the second spot on an exceptions list, and may remove the second spot from the ordered list of spots. Additionally, the circuitry for assigning the second spot may assign the second spot to any one of the unassigned breaks. Still further, the system for scheduling may include circuitry for assigning advertising (“ad”) copy to the spots.
It is yet another object of the present disclosure to provide a method and system for scheduling including prioritizing a list of networks for scheduling spots; determining if one or more networks on the list of networks requires spot scheduling such that (a) if none of the networks requires spot scheduling, displaying a network spot schedule, or (b) if one of the networks requires spot scheduling then (i) selecting a first network, (ii) obtaining scheduling information, (iii) generating an ordered list of spots, (iv) selecting a first contract line from the ordered list, where the first contract line contains one or more spots to be scheduled, and (v) selecting a first spot; based on the scheduling information, determining if one or more breaks on the selected network are acceptable for placing the first spot, where (a) if one or more acceptable breaks is determined to exist, scheduling the first spot in one of the acceptable breaks, or (b) if one or more acceptable breaks is determined to not exist then (i) determining if a bump candidate exists, (ii) if no bump candidate exists then logging the first spot as an exception, and (iii) if a bump candidate exists, bumping the bump candidate from its associated break, placing the bump candidate on the ordered list of spots, and scheduling the first spot in the break associated with the bump candidate; determining if there are any additional spots associated with the contract line where (a) if there are additional spots associated with the contract line, selecting a second spot from the first contract line and repeating the method for the second spot, or (b) if there are no additional spots associated with the first contract line, check and assign ad copy to all scheduled spots; and determining if there are additional contract lines, where (a) if there are additional contract lines, selecting a second contract line and repeating the method for the second contract line, or if there are no additional contract lines, placing spots logged as exceptions and repeating the method for a second network.